package com.tom.architect.day13.simple2;

/**
 * Created by hcDarren on 2017/10/7.
 */
public class Client {
    public static void main(String[] args) {
        // 这个就是采用了我们的策略设计模式，说白了就是在原来的基础上进行了分离
        IFinance finance = new RenzhongFinance();
        // float money = finance.finance(12, 10000); // 直接使用
        // Finance上下文，通过上下文来调用方法。
        FinanceContext context = new FinanceContext(finance);
        float money = context.finance(12, 10000);
        System.out.println("money = " + money);
        // 跟工厂设计模式很像
        // 定义一个创建对象的接口，让子类决定实例化哪个类，**而对象的创建统一交由工厂去生成，有良好的封装性，既做到了解耦也保证了最少知识原则。**
    }
}
